1. Technical Field
The present invention relates to a system and method to synchronize OSGi (Open Services Gateway initiative) bundle inventories between an OSGi bundle server and a client. More particularly, the present invention relates to a system and method for synchronizing a client manifest stored at a server and, once synchronized, using the client manifest to identify bundles, along with dependent bundles, to provide to the client.
2. Description of the Related Art
The OSGi specification, along with a management agent, provides a mechanism for a server to provide software to clients over a network. In an end-to-end client-server architecture, the server provides applications to clients in “bundles,” which are applications packages in a standard JAVA archive (JAR) file.
Occasionally, the server sends bundle updates to a client. Before sending a bundle update, however, the server must first determine which bundles are already installed on the client because the bundle update may require other bundles (dependent bundles) to also be installed on the client. A challenge found is that existing art requires the server to acquire a bundle inventory from the client each time that the server wishes to send updated bundles to the client. Unfortunately, the acquisition process requires a significant amount of network traffic, thus consuming a significant amount of network bandwidth.
What is needed, therefore, is a system and method for a server to provide bundle updates to a client without consuming significant network bandwidth prior to providing the bundle update to the client.